+-------------------------------+
|       	                |
|  PRODRAW         Disassembly  |
|  By Craig Bower - 31 Jan 09   |
|			        |
+-------------------------------+

]LOAD STARTUP

]LIST

100  PRINT  CHR$ (21): CALL 12136
110  POKE 49232,0: POKE 49235,0: POKE 49236,0: POKE 49238,0: POKE 34,20: POKE 29713,104: POKE 29717,38: POKE 29719,250: CALL 29696: POKE 29732,24
120  POKE 29713,108: POKE 29717,250: POKE 29719,38: CALL 29696: POKE 29732,20
130  POKE 49168,0
140  IF  PEEK (49152) < 128 THEN 140
150  POKE 49168,0:FL = 1
160  POKE 29713,104: POKE 29717,250: POKE 29719,38: CALL 29696: POKE 29713,108: POKE 29717,38: POKE 29719,250
170  HOME 
180  IF FL = 1 THEN FL = 0: GOTO 230
190  GOSUB 200: GOTO 230
200  CALL 31615
210  IF A$ =  CHR$ (21) THEN FL = 0: GOTO 2070
220  RETURN 
230  CLEAR : VTAB 21: HTAB 35: PRINT "?-Help";
240 X = 20:Y = 20:C = 15:S = 0:M = 0
250  DIM C$(15): GOSUB 770
260  GOSUB 310
270  GOSUB 720: GOSUB 740: GOSUB 370
280  GOTO 270
290  GOSUB 370
300  GOTO 270
310  VTAB 21: HTAB 1: PRINT "X>";X;" Y>";Y;"    ";
320  VTAB 21: HTAB 15: PRINT "Plot> ";
330  IF S = 1 THEN  PRINT "On "
340  IF S = 0 THEN  PRINT "Off "
350  VTAB 22: HTAB 14: PRINT "Color> ";C$(C);"     ";
360  RETURN 
370  IF  PEEK ( - 16384) < 127 THEN  RETURN 
380  VTAB 22: HTAB 1: GET A$: POKE  - 16368,0
390  IF A$ = "Q" THEN Y = Y - 1:X = X - 1: GOSUB 1690: GOSUB 310: RETURN 
400  IF A$ = "W" THEN Y = Y - 1: GOSUB 1690: GOSUB 310: RETURN 
410  IF A$ = "E" THEN X = X + 1:Y = Y - 1: GOSUB 1690: GOSUB 310: RETURN 
420  IF A$ = "A" THEN X = X - 1: GOSUB 1690: GOSUB 310: RETURN 
430  IF A$ = "D" THEN X = X + 1: GOSUB 1690: GOSUB 310: RETURN 
440  IF A$ = "Z" THEN X = X - 1:Y = Y + 1: GOSUB 1690: GOSUB 310: RETURN 
450  IF A$ = "X" THEN Y = Y + 1: GOSUB 1690: GOSUB 310: RETURN 
460  IF A$ = "C" THEN Y = Y + 1:X = X + 1: GOSUB 1690: GOSUB 310: RETURN 
470  IF A$ = "U" THEN  GOSUB 1670
480  IF A$ = ">" THEN  GOSUB 1940
490  IF A$ = "<" THEN  GOSUB 1950
500  IF A$ = "Y" THEN  VTAB 24: HTAB 1: PRINT "UNDO Checkpoint set";: GOSUB 1660: FOR A = 1 TO 350: NEXT A: VTAB 24: HTAB 1: PRINT  SPC( 25);
510  IF A$ = "/" OR A$ = "?" THEN  GOSUB 1630
520  IF A$ = "S" AND S = 0 THEN S = 1: GOTO 540
530  IF A$ = "S" AND S = 1 THEN S = 0
540  IF A$ =  CHR$ (8) THEN C = C - 1: IF C < 0 THEN C = 15
550  IF A$ =  CHR$ (21) THEN C = C + 1: IF C > 15 THEN C = 0
560  IF A$ =  CHR$ (17) THEN  GOSUB 800
570  IF A$ = "T" THEN  GOSUB 1910
580  IF A$ = "O" THEN  GOSUB 1740
590  IF A$ = "P" THEN  GOSUB 1430
600  IF A$ = "I" THEN  GOSUB 1660: CALL 29736
610  IF A$ = "N" THEN  GOSUB 940
620  IF A$ =  CHR$ (6) THEN  GOSUB 1090
630  IF A$ = "#" THEN  GOSUB 2430
640  IF A$ = "B" AND S = 1 THEN  COLOR= C: HLIN 0,39 AT 0: HLIN 0,39 AT 39: VLIN 0,39 AT 39: VLIN 0,39 AT 0
650  IF A$ = "$" THEN  GOSUB 2490
660  IF A$ = "G" AND S = 1 THEN  POKE 254,C: CALL 29768
670  IF A$ = "+" THEN  CALL 29794
680  IF A$ = "H" THEN  CALL 31311
690  IF A$ = "J" THEN  CALL 31367
700  IF A$ = "@" THEN  GOSUB 1990
710  GOSUB 310: RETURN 
720 A =  SCRN( X,Y): COLOR= 15 - A: PLOT X,Y
730  RETURN 
740  COLOR= A: PLOT X,Y
750  IF S = 1 THEN  COLOR= C: PLOT X,Y
760  RETURN 
770 C$(0) = "Black":C$(1) = "Magenta":C$(2) = "Dk Blue":C$(3) = "Purple":C$(4) = "Dk Green":C$(5) = "Grey":C$(6) = "Med Blue":C$(7) = "Lt Blue":C$(8) = "Brown":C$(9) = "Orange":C$(10) = "Grey 2":C$(11) = "Pink":C$(12) = "Lt Green":C$(13) = "Yellow":C$(14) = "Aqua"
780 C$(15) = "White"
790  RETURN 
800  VTAB 24: HTAB 1: PRINT "Quit? ";
810  IF FL = 1 THEN  INVERSE : PRINT "YES";: NORMAL : PRINT " NO";
820  IF FL = 0 THEN  NORMAL : PRINT "YES ";: INVERSE : PRINT "NO";: NORMAL 
830  POKE  - 16368,0
840  IF  PEEK ( - 16384) < 127 THEN 840
850  GET A$: IF A$ <  >  CHR$ (8) AND A$ <  >  CHR$ (21) AND A$ <  >  CHR$ (13) AND A$ <  >  CHR$ (27) THEN 830
860  IF FL = 1 AND A$ =  CHR$ (13) THEN  HOME : END 
870  IF A$ =  CHR$ (21) THEN FL = 0
880  IF A$ =  CHR$ (8) THEN FL = 1
890  IF A$ =  CHR$ (13) AND FL = 0 THEN 920
900  IF A$ =  CHR$ (27) THEN 920
910  GOTO 800
920  VTAB 24: HTAB 1: PRINT "             ";
930  RETURN 
940  VTAB 24: HTAB 1: PRINT "New Drawing? ";
950  GOSUB 1660: REM  ** SAVE UNDO SNAPSHOP 
960  IF FL = 1 THEN  INVERSE : PRINT "YES";: NORMAL : PRINT " NO";
970  IF FL = 0 THEN  NORMAL : PRINT "YES ";: INVERSE : PRINT "NO";: NORMAL 
980  POKE  - 16368,0
990  IF  PEEK ( - 16384) < 127 THEN 990
1000  GET A$: IF A$ <  >  CHR$ (8) AND A$ <  >  CHR$ (21) AND A$ <  >  CHR$ (13) AND A$ <  >  CHR$ (27) THEN 980
1010  IF A$ =  CHR$ (13) AND FL = 1 THEN  GOSUB 200: HOME : CALL 31785: VTAB 21: HTAB 35: PRINT "?-Help";: GOTO 1070
1020  IF A$ =  CHR$ (21) THEN FL = 0
1030  IF A$ =  CHR$ (8) THEN FL = 1
1040  IF A$ =  CHR$ (13) AND FL = 0 THEN 1070
1050  IF A$ =  CHR$ (27) THEN 1070
1060  GOTO 940
1070  VTAB 24: HTAB 1: PRINT "                      ";
1080  RETURN 
1090  GOSUB 1660
1100  VTAB 24: HTAB 1: PRINT "File Ops: ";
1110  IF FL = 1 THEN  INVERSE : PRINT "LOAD";: NORMAL : PRINT " SAVE";
1120  IF FL = 0 THEN  PRINT "LOAD ";: INVERSE : PRINT "SAVE";: NORMAL 
1130  POKE  - 16368,0
1140  IF  PEEK ( - 16384) < 127 THEN 1140
1150  GET A$: IF A$ <  >  CHR$ (8) AND A$ <  >  CHR$ (21) AND A$ <  >  CHR$ (13) AND A$ <  >  CHR$ (27) THEN 1130
1160  IF FL = 1 AND A$ =  CHR$ (13) THEN  GOSUB 1240
1170  IF A$ =  CHR$ (21) THEN FL = 0
1180  IF A$ =  CHR$ (8) THEN FL = 1
1190  IF A$ =  CHR$ (13) AND FL = 0 THEN  GOSUB 1340
1200  IF A$ =  CHR$ (27) THEN 1220
1210  GOTO 1100
1220  VTAB 24: HTAB 1: PRINT "                      ";
1230  RETURN 
1240  VTAB 24: HTAB 1: PRINT "                        ";
1250  VTAB 23: HTAB 1: INPUT "Load Name:";A$
1260  IF A$ = "" OR A$ =  CHR$ (13) THEN  CALL 29696: TEXT : HOME : PRINT : PRINT  CHR$ (4);"CAT": PRINT : PRINT : GOTO 1250
1270  VTAB 1: HTAB 1: PRINT : PRINT : PRINT  CHR$ (4);"BLOAD";A$;",A$4000"
1280  POKE 29732,24
1290  POKE 49232,0: POKE 49235,0: POKE 49236,0: POKE 49238,0: POKE 34,20: POKE 29713,60: POKE 29717,250: POKE 29719,38: CALL 29696: POKE 29713,108: POKE 29717,38: POKE 29719,250
1300  CALL 31785: POKE 29732,20
1310  HOME 
1320  VTAB 21: HTAB 35: PRINT "?-Help";
1330  POP : GOTO 1220
1340  VTAB 24: HTAB 1: PRINT "                     ";
1350  VTAB 23: HTAB 1: INPUT "Save Name:";A$
1360  IF A$ = "" OR A$ =  CHR$ (13) THEN  GOSUB 1660: TEXT : HOME : PRINT : PRINT  CHR$ (4);"CAT": PRINT : PRINT : GOTO 1350
1370  POKE 49232,0: POKE 49235,0: POKE 49236,0: POKE 49238,0: POKE 34,20: GOSUB 1670
1380  HOME : CALL 31725
1390  VTAB 1: HTAB 1: PRINT : PRINT : PRINT  CHR$ (4);"BSAVE";A$;",A$400,L$3F8"
1400  HOME 
1410  VTAB 21: HTAB 35: PRINT "?-Help";
1420  POP : GOTO 1220
1430 O = C:R = 0
1440  GOSUB 1660
1450  VTAB 24: HTAB 1: PRINT "Replace [";C$(O);"] with ";C$(R);"    ";: VTAB 21
1460  IF  PEEK (49152) < 128 THEN 1460
1470  VTAB 21: HTAB 1: GET A$: IF A$ =  CHR$ (8) THEN O = O - 1: IF O < 0 THEN O = 15: GOTO 1450
1480  IF A$ =  CHR$ (21) THEN O = O + 1: IF O > 15 THEN O = 0: GOTO 1450
1490  IF A$ =  CHR$ (13) THEN  GOTO 1520
1500  IF A$ =  CHR$ (27) THEN  VTAB 24: HTAB 1: PRINT  SPC( 37);: RETURN 
1510  GOTO 1450
1520  VTAB 24: HTAB 1: PRINT "Replace ";C$(O);" with [";C$(R);"]    ";: VTAB 21
1530  IF  PEEK (49152) < 128 THEN 1530
1540  VTAB 21: HTAB 1: GET A$: IF A$ =  CHR$ (8) THEN R = R - 1: IF R < 0 THEN R = 15: GOTO 1520
1550  IF A$ =  CHR$ (27) THEN  VTAB 24: HTAB 1: PRINT  SPC( 37);: RETURN 
1560  IF A$ =  CHR$ (21) THEN R = R + 1: IF R > 15 THEN R = 0: GOTO 1520
1570  IF A$ =  CHR$ (13) THEN  GOTO 1590
1580  GOTO 1520
1590  VTAB 24: HTAB 1: PRINT "Replacing ";C$(O);" with ";C$(R);" ...  ";: VTAB 21
1600  POKE 252,O: POKE 253,R: CALL 30976
1610  VTAB 24: HTAB 1: PRINT  SPC( 35);: VTAB 21: COLOR= C
1620  RETURN 
1630  CALL 29696: TEXT : CALL 29838: HOME 
1640  POKE 49232,0: POKE 49235,0: POKE 49236,0: POKE 49238,0: POKE 34,20: CALL 29900: VTAB 21: HTAB 35: PRINT "?-Help";
1650  RETURN 
1660  CALL 29696: RETURN 
1670  POKE 29717,250: POKE 29719,38: CALL 29696: POKE 29717,38: POKE 29719,250
1680  RETURN 
1690  IF X > 39 THEN X = 0
1700  IF Y > 39 THEN Y = 0
1710  IF X < 0 THEN X = 39
1720  IF Y < 0 THEN Y = 39
1730  RETURN 
1740  VTAB 24: HTAB 1: PRINT "Optimize Pos'n (Cursor move keys / ESC)";
1750  VTAB 21: IF  PEEK (49152) < 128 THEN 1750
1760  GET A$
1770  IF A$ = "A" AND  PEEK (49249) > 128 THEN  FOR I = 1 TO 10: CALL 31064: NEXT I: GOTO 1750
1780  IF A$ = "A" THEN  CALL 31064
1790  IF A$ = "D" AND  PEEK (49249) > 128 THEN  FOR I = 1 TO 10: CALL 31027: NEXT I: GOTO 1750
1800  IF A$ = "D" THEN  CALL 31027
1810  IF A$ = "W" AND  PEEK (49249) > 128 THEN  FOR I = 1 TO 10: CALL 31103: NEXT I: GOTO 1750
1820  IF A$ = "W" THEN  CALL 31103
1830  IF A$ =  CHR$ (27) OR A$ =  CHR$ (13) OR A$ = "O" THEN  VTAB 24: HTAB 1: PRINT  SPC( 39);: RETURN 
1840  IF A$ = "X" AND  PEEK (49249) > 128 THEN  FOR I = 1 TO 10: CALL 31203: NEXT I: GOTO 1750
1850  IF A$ = "X" THEN  CALL 31203
1860  IF A$ = "Q" THEN  CALL 31103: CALL 31064
1870  IF A$ = "E" THEN  CALL 31103: CALL 31027
1880  IF A$ = "Z" THEN  CALL 31203: CALL 31064
1890  IF A$ = "C" THEN  CALL 31203: CALL 31027
1900  GOTO 1750
1910  POKE 29713,104: POKE 29717,38: POKE 29719,250: CALL 29696: POKE 29713,108
1920  VTAB 24: HTAB 1: PRINT "Picture stored in merge buffer";: FOR I = 1 TO 350: NEXT I: VTAB 24: HTAB 1: PRINT  SPC( 38);
1930  RETURN 
1940  GOSUB 1660: CALL 31442: RETURN 
1950  GOSUB 1660
1960  POKE 31513,254: POKE 31525,255: POKE 31537,252: POKE 31549,253: CALL 31442
1970  POKE 31513,252: POKE 31525,253: POKE 31537,254: POKE 31549,255
1980  RETURN 
1990  CALL 29696
2000  TEXT : HOME : CALL 31755
2010  PRINT "Edit text under picture": PRINT : PRINT "Use arrow keys to locate cursor"
2020  PRINT : PRINT "Ctrl-I for inverse text": PRINT "Ctrl-F for flashing text": PRINT "Ctrl-N for normal text": PRINT "Ctrl-B to clear buffer": PRINT : PRINT "(lowercase will not flash or inverse)"
2030  PRINT : PRINT "Press 'ESC' when done editing"
2040  VTAB 19: HTAB 1: PRINT "________________________________________";
2050 TX = 1:TY = 20
2060  VTAB 17: HTAB 1: PRINT "X>";TX;"  Y>";TY + 1;"  ";
2070  VTAB TY: HTAB TX: GET A$
2080  IF A$ =  CHR$ (27) THEN 2400
2090  IF A$ =  CHR$ (8) THEN TX = TX - 1: GOSUB 2190: GOTO 2060
2100  IF A$ =  CHR$ (21) THEN TX = TX + 1: GOSUB 2190: GOTO 2060
2110  IF A$ =  CHR$ (11) THEN TY = TY - 1: GOSUB 2190: GOTO 2060
2120  IF A$ =  CHR$ (10) THEN TY = TY + 1: GOSUB 2190: GOTO 2060
2130  IF A$ =  CHR$ (9) THEN  INVERSE : GOTO 2060
2140  IF A$ =  CHR$ (6) THEN  FLASH : GOTO 2060
2150  IF A$ =  CHR$ (13) THEN TY = TY + 1:TX = 1: GOSUB 2190: GOTO 2060
2160  IF A$ =  CHR$ (14) THEN  NORMAL : GOTO 2060
2170  IF A$ =  CHR$ (2) THEN  GOSUB 2240: GOTO 2050
2180  PRINT A$;:TX = TX + 1: GOSUB 2190: GOTO 2060
2190  IF TX > 40 THEN TX = 1
2200  IF TX < 1 THEN TX = 40
2210  IF TY > 23 THEN TY = 20
2220  IF TY < 20 THEN TY = 23
2230  RETURN 
2240  VTAB 14: HTAB 1: PRINT "Clear buffer?  YES  NO"
2250 FL = 1
2260  IF FL = 1 THEN  VTAB 14: HTAB 16: INVERSE : PRINT "YES";: NORMAL : PRINT "  NO"
2270  IF FL = 0 THEN  VTAB 14: HTAB 16: NORMAL : PRINT "YES  ";: INVERSE : PRINT "NO";: NORMAL 
2280  POKE  - 16368,0
2290  IF  PEEK ( - 16384) < 127 THEN 2290
2300  GET A$
2310  IF A$ =  CHR$ (21) THEN FL = 0
2320  IF A$ =  CHR$ (8) THEN FL = 1
2330  IF A$ =  CHR$ (27) THEN  VTAB 14: HTAB 1: PRINT  SPC( 39);: RETURN 
2340  IF A$ =  CHR$ (13) THEN  GOTO 2360
2350  GOTO 2260
2360  VTAB 14: HTAB 1: PRINT  SPC( 39)
2370  IF FL = 0 THEN 2390
2380  VTAB 20: HTAB 1: PRINT  SPC( 160);
2390  RETURN 
2400  CALL 31695: HOME : NORMAL 
2410  POKE 49232,0: POKE 49235,0: POKE 49236,0: POKE 49238,0: POKE 34,20: CALL 29900: VTAB 21: HTAB 35: PRINT "?-Help";
2420  RETURN 
2430  HOME : CALL 31725
2440  POKE  - 16368,0
2450  IF  PEEK ( - 16384) < 127 THEN 2450
2460  HOME : POKE 49232,0: POKE 49235,0: POKE 49236,0: POKE 49238,0:: VTAB 21: HTAB 35: PRINT "?-Help";
2470  POKE  - 16368,0
2480  RETURN 
2490  HOME : VTAB 21: HTAB 1: PRINT "Save picture as executable file"
2500  VTAB 23: HTAB 1: INPUT "Save Name: X.";A$
2510  IF A$ = "" THEN  GOTO 2540
2520 A$ = "X." + A$: CALL 31725: CALL 31815
2530  VTAB 1: HTAB 1: PRINT : PRINT  CHR$ (4);"BSAVE ";A$;",A$5FFD,L$43B"
2540  HOME : VTAB 21: HTAB 33: PRINT "? - Help";
2550  RETURN 


+-------------------------------+
|       	                |
|  PRODRAW.SYS     Disassembly  |
|  By Craig Bower - 31 Jan 09   |
|			        |
+-------------------------------+

PRODRAW.SYS is appended to the applesoft executable for ProDRAW
It is located at $22A0-$2F86 and on running of 'startup' aka ProDRAW,
the first routine JMP is to $2F68 which is code to relocate
the data at the end of the applesoft program (PRODRAW.SYS) to it's
Native runtime area of $7000.

PRODRAW.SYS - Subroutine entry points and end locations

(01) $7000 -> $73FF >> Undo Buffer Picture storage
(02) $7400 -> $7427 >> Move picture to/From Undo buffer
	a) $7411 (29713) >> ADC ($6C) offset (page select)*
	b) $7415 (29717) >> Source Page (GBASCALC)*
	c) $7417 (29719) >> Destination Page (GBASCALC)*
(03) $7428 -> $7447 >> Inverse
(04) $7448 -> $7461 >> Paint screen to current color
	a) Color is plotting color, plot must be on
(05) $7462 -> $748D >> EOR $6C00 w/ $0400
(06) $748E -> $74CB >> Display Help Screen
(07) $74CC -> $74E3 >> Return Undo buffer to Display
(08) $7500 -> $78FF >> Help text screen
(09) $7900 -> $7932 >> Replace Color ($FC) with $(FD)
(10) $7933 -> $7957 >> Move Screen Right 1 pixel
(11) $7958 -> $797E >> Move Screen Left 1 pixel
(12) $797F -> $79E2 >> Move Screen Up 1 pixel
(13) $79E3 -> $7A4E >> Move Screen Down 1 pixel
(14) $7A4F -> $7A86 >> Horizontal Flip of Screen
(15) $7A87 -> $7AD1 >> Vertical Flip of Screen
(16) $7AD2 -> $7B7E >> CW Rotate of Screen
(17) $7AD2 -> $7B7E >> Modified to do CCW Rotate of Screen then restored to CW
(18) $7B7F -> $7BCE >> Down scroll/screen wipe
(19) $7BCF -> $7BEC >> Text lines to buffer after Edit
(20) $7BED -> $7C0A >> Text lines to screen before Save
(21) $7C0B -> $7C28 >> Text lines to screen before Edit
(22) $7C29 -> $7C46 >> Text lines to buffer after Load
(23) $7C47 -> $7CC6 >> Setup buffer $5FFD for save as exe

* The Source and Destination pages get switched around to determine
which way the transfer will go.  Initially, it's $26 (ZP) at $7415 and a
$FA (ZP) at $7417 which moves from $0400 to $7000.  Some routines change
these values to $FA (ZP) at $7415 and $26 (ZP) at $7417 to move from
$7000 to $0400.  The ADC ($6C) offset is simply page select minus $04
to offset the GBASCALC $04 at ZP location $26 after a call to GBASCALC
($F847) with $00 (line 1) in the Accumulator.

+------------------------------------------------------------------+
|            Miscellaneous Memory usage (buffers)	           |
+------------------------------------------------------------------+
| 4000-43FF - [File operations picture 'Load' area]		   |
|   45D0    - [Line 21 of bottom 4 text lines buffer]		   |
|   4650    - [Line 22 of bottom 4 text lines buffer]		   |
|   46D0    - [Line 23 of bottom 4 text lines buffer]		   |
|   4750    - [Line 24 of bottom 4 text lines buffer]		   |
| 4B00-4B28 - [One line 'work-area' for up/down move of screen]	   |
| 6C00-6FFF - [Picture 'Merge buffer' storage space]		   |
| 7000-73FF - [Initially title page, becomes undo buffer @ runtime |
| 7500-78FF - [Help Screen / Command Chart storage area]	   |
+------------------------------------------------------------------+

6FFF-   60	    RTS			; RTS = BRUN without crash

7000-73FF - [Initially title page.  Becomes 'undo buffer' @ runtime]

7400-   A9 00       LDA   #$00		; Undo Buffer Store/Move
7402-   85 FE       STA   $FE		;------------------------
7404-   A8          TAY
7405-   A5 FE       LDA   $FE
7407-   20 47 F8    JSR   $F847		; F8ROM:GBASCALC
740A-   A5 26       LDA   $26
740C-   85 FA       STA   $FA
740E-   A5 27       LDA   $27
7410-   69 6C       ADC   #$6C
7412-   85 FB       STA   $FB
7414-   B1 26       LDA   ($26),Y
7416-   91 FA       STA   ($FA),Y
7418-   C8          INY
7419-   C0 28       CPY   #$28
741B-   D0 F7       BNE   $7414
741D-   A0 00       LDY   #$00
741F-   E6 FE       INC   $FE
7421-   A5 FE       LDA   $FE
7423-   C9 14       CMP   #$14
7425-   D0 DE       BNE   $7405
7427-   60          RTS

7428-   A9 00       LDA   #$00		; Inverse Screen
742A-   85 FC       STA   $FC		;----------------
742C-   A5 FC       LDA   $FC
742E-   20 47 F8    JSR   $F847		; F8ROM:GBASCALC
7431-   A0 00       LDY   #$00
7433-   18          CLC
7434-   A9 FF       LDA   #$FF
7436-   51 26       EOR   ($26),Y
7438-   91 26       STA   ($26),Y
743A-   C8          INY
743B-   C0 28       CPY   #$28
743D-   D0 F4       BNE   $7433
743F-   E6 FC       INC   $FC
7441-   A5 FC       LDA   $FC
7443-   C9 14       CMP   #$14
7445-   D0 E7       BNE   $742E
7447-   60          RTS

7448-   A9 00       LDA   #$00		; Fill Screen to Color
744A-   AA          TAX			;----------------------
744B-   A8          TAY
744C-   20 00 F8    JSR   $F800		; F8ROM:PLOT
744F-   8A          TXA
7450-   C8          INY
7451-   C0 28       CPY   #$28
7453-   D0 F7       BNE   $744C
7455-   A0 00       LDY   #$00
7457-   E8          INX
7458-   8A          TXA
7459-   E0 28       CPX   #$28
745B-   D0 EF       BNE   $744C
745D-   60          RTS
745E-   28          PLP
745F-   D0 EF       BNE   $7450
7461-   60          RTS

7462-   A9 00       LDA   #$00		; EOR $6C00 w/ $0400
7464-   85 FE       STA   $FE		; Merge pics $6C00 -> $0400
7466-   A8          TAY			;---------------------------
7467-   A5 FE       LDA   $FE
7469-   20 47 F8    JSR   $F847		; F8ROM:GBASCALC
746C-   A5 26       LDA   $26
746E-   85 FA       STA   $FA
7470-   A5 27       LDA   $27
7472-   69 68       ADC   #$68
7474-   85 FB       STA   $FB
7476-   B1 FA       LDA   ($FA),Y
7478-   51 26       EOR   ($26),Y
747A-   18          CLC
747B-   91 26       STA   ($26),Y
747D-   C8          INY
747E-   C0 28       CPY   #$28
7480-   D0 F4       BNE   $7476
7482-   E6 FE       INC   $FE
7484-   A9 00       LDA   #$00
7486-   A8          TAY
7487-   A5 FE       LDA   $FE
7489-   C9 14       CMP   #$14
748B-   D0 DA       BNE   $7467
748D-   60          RTS

748E-   A9 71       LDA   #$71		; Display Help Screen
7490-   8D 11 74    STA   $7411		;---------------------
7493-   A9 18       LDA   #$18		; Terrible amount of
7495-   8D 24 74    STA   $7424		; absolute references
7498-   A9 FA       LDA   #$FA		; in this routine.
749A-   8D 15 74    STA   $7415		;
749D-   A9 26       LDA   #$26		 
749F-   8D 17 74    STA   $7417
74A2-   20 00 74    JSR   $7400
74A5-   A9 00       LDA   #$00
74A7-   8D 10 C0    STA   $C010		; r:KBDSTRB
74AA-   18          CLC
74AB-   AD 00 C0    LDA   $C000		; r:KBD
74AE-   69 80       ADC   #$80
74B0-   90 F8       BCC   $74AA
74B2-   A9 00       LDA   #$00
74B4-   8D 10 C0    STA   $C010		; r:KBDSTRB
74B7-   A9 6C       LDA   #$6C
74B9-   8D 11 74    STA   $7411
74BC-   A9 14       LDA   #$14
74BE-   8D 24 74    STA   $7424
74C1-   A9 26       LDA   #$26
74C3-   8D 15 74    STA   $7415
74C6-   A9 FA       LDA   #$FA
74C8-   8D 17 74    STA   $7417
74CB-   60          RTS

74CC-   A9 FA       LDA   #$FA		; Return Undo buf to disp
74CE-   8D 15 74    STA   $7415		;-------------------------
74D1-   A9 26       LDA   #$26		;
74D3-   8D 17 74    STA   $7417
74D6-   20 00 74    JSR   $7400
74D9-   A9 26       LDA   #$26
74DB-   8D 15 74    STA   $7415
74DE-   A9 FA       LDA   #$FA
74E0-   8D 17 74    STA   $7417
74E3-   60          RTS

7500-78FF - [Help Screen / Command Chart storage area]

7900-   A5 FD       LDA   $FD		; Replace Color in $FC w/$FD
					;----------------------------
7902-   20 64 F8    JSR   $F864		; F8ROM:SETCOL
7905-   A9 00       LDA   #$00
7907-   85 FA       STA   $FA
7909-   85 FB       STA   $FB
790B-   A8          TAY
790C-   20 71 F8    JSR   $F871		; F8ROM:SCRN
790F-   C5 FC       CMP   $FC
7911-   D0 07       BNE   $791A
7913-   A5 FA       LDA   $FA
7915-   A4 FB       LDY   $FB
7917-   20 00 F8    JSR   $F800		; F8ROM:PLOT
791A-   E6 FA       INC   $FA
791C-   A4 FB       LDY   $FB
791E-   A5 FA       LDA   $FA
7920-   C9 28       CMP   #$28
7922-   D0 E8       BNE   $790C
7924-   A9 00       LDA   #$00
7926-   85 FA       STA   $FA
7928-   E6 FB       INC   $FB
792A-   A5 FA       LDA   $FA
792C-   A4 FB       LDY   $FB
792E-   C0 28       CPY   #$28
7930-   D0 DA       BNE   $790C
7932-   60          RTS

7933-   A9 00       LDA   #$00		; Move Screen [Right]
7935-   85 FE       STA   $FE		;---------------------
7937-   A5 FE       LDA   $FE
7939-   20 47 F8    JSR   $F847		; F8ROM:GBASCALC
793C-   A0 27       LDY   #$27
793E-   B1 26       LDA   ($26),Y
7940-   85 FD       STA   $FD
7942-   88          DEY
7943-   B1 26       LDA   ($26),Y
7945-   C8          INY
7946-   91 26       STA   ($26),Y
7948-   88          DEY
7949-   D0 F7       BNE   $7942
794B-   A5 FD       LDA   $FD
794D-   91 26       STA   ($26),Y
794F-   E6 FE       INC   $FE
7951-   A5 FE       LDA   $FE
7953-   C9 14       CMP   #$14
7955-   D0 E2       BNE   $7939
7957-   60          RTS

7958-   A9 00       LDA   #$00		; Move Screen [Left]
795A-   85 FE       STA   $FE		;--------------------
795C-   A5 FE       LDA   $FE
795E-   20 47 F8    JSR   $F847		; F8ROM:GBASCALC
7961-   A0 00       LDY   #$00
7963-   B1 26       LDA   ($26),Y
7965-   85 FD       STA   $FD
7967-   C8          INY
7968-   B1 26       LDA   ($26),Y
796A-   88          DEY
796B-   91 26       STA   ($26),Y
796D-   C8          INY
796E-   C0 27       CPY   #$27
7970-   D0 F5       BNE   $7967
7972-   A5 FD       LDA   $FD
7974-   91 26       STA   ($26),Y
7976-   E6 FE       INC   $FE
7978-   A5 FE       LDA   $FE
797A-   C9 14       CMP   #$14
797C-   D0 E0       BNE   $795E
797E-   60          RTS

797F-   A9 00       LDA   #$00		; Move Screen [Up]
7981-   A8          TAY    		;------------------
7982-   85 FC       STA   $FC
7984-   85 FD       STA   $FD
7986-   AA          TAX
7987-   A4 FC       LDY   $FC
7989-   A5 FD       LDA   $FD
798B-   20 71 F8    JSR   $F871 	; F8ROM:SCRN
798E-   9D 00 4B    STA   $4B00,X
7991-   E6 FC       INC   $FC
7993-   E8          INX
7994-   E0 28       CPX   #$28
7996-   D0 EF       BNE   $7987
7998-   A9 00       LDA   #$00
799A-   A8          TAY
799B-   85 FC       STA   $FC
799D-   AA          TAX
799E-   E6 FD       INC   $FD
79A0-   A4 FC       LDY   $FC
79A2-   A5 FD       LDA   $FD
79A4-   20 71 F8    JSR   $F871		; F8ROM:SCRN
79A7-   20 64 F8    JSR   $F864   	; F8ROM:SETCOL
79AA-   C6 FD       DEC   $FD
79AC-   A4 FC       LDY   $FC
79AE-   A5 FD       LDA   $FD
79B0-   20 00 F8    JSR   $F800		; F8ROM:PLOT
79B3-   E6 FD       INC   $FD
79B5-   E6 FC       INC   $FC
79B7-   A6 FC       LDX   $FC
79B9-   E0 28       CPX   #$28
79BB-   D0 E3       BNE   $79A0
79BD-   A9 00       LDA   #$00
79BF-   A8          TAY
79C0-   85 FC       STA   $FC
79C2-   A5 FD       LDA   $FD
79C4-   C9 27       CMP   #$27
79C6-   D0 D6       BNE   $799E
79C8-   A9 00       LDA   #$00
79CA-   AA          TAX
79CB-   85 FC       STA   $FC
79CD-   A8          TAY
79CE-   BD 00 4B    LDA   $4B00,X
79D1-   20 64 F8    JSR   $F864		; F8ROM:SETCOL
79D4-   A5 FD       LDA   $FD
79D6-   A4 FC       LDY   $FC
79D8-   20 00 F8    JSR   $F800		; F8ROM:PLOT
79DB-   E6 FC       INC   $FC
79DD-   E8          INX
79DE-   E0 28       CPX   #$28
79E0-   D0 EC       BNE   $79CE
79E2-   60          RTS

79E3-   A9 27       LDA   #$27		; Move Screen [Down]
79E5-   A0 00       LDY   #$00		;--------------------
79E7-   85 FD       STA   $FD
79E9-   84 FC       STY   $FC
79EB-   A2 00       LDX   #$00
79ED-   20 71 F8    JSR   $F871		; F8ROM:SCRN
79F0-   9D 00 4B    STA   $4B00,X
79F3-   E6 FC       INC   $FC
79F5-   E8          INX
79F6-   A4 FC       LDY   $FC
79F8-   A5 FD       LDA   $FD
79FA-   E0 28       CPX   #$28
79FC-   D0 EF       BNE   $79ED
79FE-   A9 26       LDA   #$26
7A00-   A0 00       LDY   #$00
7A02-   A2 00       LDX   #$00
7A04-   85 FD       STA   $FD
7A06-   84 FC       STY   $FC
7A08-   20 71 F8    JSR   $F871		; F8ROM:SCRN
7A0B-   20 64 F8    JSR   $F864		; F8ROM:SETCOL
7A0E-   E6 FD       INC   $FD
7A10-   A4 FC       LDY   $FC
7A12-   A5 FD       LDA   $FD
7A14-   20 00 F8    JSR   $F800		; F8ROM:PLOT
7A17-   C6 FD       DEC   $FD
7A19-   E6 FC       INC   $FC
7A1B-   A6 FC       LDX   $FC
7A1D-   A4 FC       LDY   $FC
7A1F-   A5 FD       LDA   $FD
7A21-   E0 28       CPX   #$28
7A23-   D0 E3       BNE   $7A08
7A25-   A0 00       LDY   #$00
7A27-   84 FC       STY   $FC
7A29-   C6 FD       DEC   $FD
7A2B-   A4 FC       LDY   $FC
7A2D-   A5 FD       LDA   $FD
7A2F-   C9 FF       CMP   #$FF
7A31-   D0 D5       BNE   $7A08
7A33-   A9 00       LDA   #$00
7A35-   85 FC       STA   $FC
7A37-   85 FD       STA   $FD
7A39-   AA          TAX
7A3A-   BD 00 4B    LDA   $4B00,X
7A3D-   20 64 F8    JSR   $F864		; F8ROM:SETCOL
7A40-   A5 FD       LDA   $FD
7A42-   A4 FC       LDY   $FC
7A44-   20 00 F8    JSR   $F800		; F8ROM:PLOT
7A47-   E6 FC       INC   $FC
7A49-   E8          INX
7A4A-   E0 28       CPX   #$28
7A4C-   D0 EC       BNE   $7A3A
7A4E-   60          RTS

7A4F-   A9 00       LDA   #$00		; Horizontal Flip
7A51-   85 FA       STA   $FA		;-----------------
7A53-   85 FB       STA   $FB
7A55-   A0 27       LDY   #$27
7A57-   84 FC       STY   $FC
7A59-   20 47 F8    JSR   $F847		; F8ROM:GBASCALC
7A5C-   B1 26       LDA   ($26),Y
7A5E-   85 FD       STA   $FD
7A60-   A4 FB       LDY   $FB
7A62-   B1 26       LDA   ($26),Y
7A64-   A4 FC       LDY   $FC
7A66-   91 26       STA   ($26),Y
7A68-   A5 FD       LDA   $FD
7A6A-   A4 FB       LDY   $FB
7A6C-   91 26       STA   ($26),Y
7A6E-   E6 FB       INC   $FB
7A70-   C6 FC       DEC   $FC
7A72-   A4 FC       LDY   $FC
7A74-   A5 FB       LDA   $FB
7A76-   C9 14       CMP   #$14
7A78-   D0 E2       BNE   $7A5C
7A7A-   E6 FA       INC   $FA
7A7C-   A9 00       LDA   #$00
7A7E-   85 FB       STA   $FB
7A80-   A5 FA       LDA   $FA
7A82-   C9 14       CMP   #$14
7A84-   D0 CF       BNE   $7A55
7A86-   60          RTS

7A87-   A9 00       LDA   #$00		; Vertical Flip
7A89-   85 FA       STA   $FA		;---------------
7A8B-   85 FB       STA   $FB
7A8D-   85 FC       STA   $FC
7A8F-   A9 27       LDA   #$27
7A91-   85 FD       STA   $FD
7A93-   A4 FA       LDY   $FA
7A95-   A5 FB       LDA   $FB
7A97-   20 71 F8    JSR   $F871		; F8ROM:SCRN
7A9A-   AA          TAX
7A9B-   A4 FC       LDY   $FC
7A9D-   A5 FD       LDA   $FD
7A9F-   20 71 F8    JSR   $F871		; F8ROM:SCRN
7AA2-   20 64 F8    JSR   $F864		; F8ROM:SETCOL
7AA5-   A4 FA       LDY   $FA
7AA7-   A5 FB       LDA   $FB
7AA9-   20 00 F8    JSR   $F800		; F8ROM:PLOT
7AAC-   8A          TXA
7AAD-   20 64 F8    JSR   $F864		; F8ROM:SETCOL
7AB0-   A4 FC       LDY   $FC
7AB2-   A5 FD       LDA   $FD
7AB4-   20 00 F8    JSR   $F800		; F8ROM:PLOT
7AB7-   E6 FA       INC   $FA
7AB9-   E6 FC       INC   $FC
7ABB-   A5 FA       LDA   $FA
7ABD-   C9 28       CMP   #$28
7ABF-   D0 D2       BNE   $7A93
7AC1-   A9 00       LDA   #$00
7AC3-   85 FA       STA   $FA
7AC5-   85 FC       STA   $FC
7AC7-   E6 FB       INC   $FB
7AC9-   C6 FD       DEC   $FD
7ACB-   A5 FB       LDA   $FB
7ACD-   C9 14       CMP   #$14
7ACF-   D0 C2       BNE   $7A93
7AD1-   60          RTS

7AD2-   A9 00       LDA   #$00		; CW Rotate of Scrn
7AD4-   A2 0F       LDX   #$0F		;-------------------
7AD6-   B5 F0       LDA   $F0,X		; Gets modified to
7AD8-   9D F0 02    STA   $02F0,X	; perform CCW as well
7ADB-   CA          DEX			; then modified back
7ADC-   E0 FF       CPX   #$FF		; to CW after CCW exit
7ADE-   D0 F6       BNE   $7AD6		; $7B19, $7B25, $7B31
7AE0-   A9 00       LDA   #$00		; $7B3D all get set
7AE2-   85 F4       STA   $F4		; to the values listed
7AE4-   85 F5       STA   $F5		; in brackets for CCW
7AE6-   85 F7       STA   $F7		; rotate of screen
7AE8-   85 FA       STA   $FA		; then set back by
7AEA-   A9 27       LDA   #$27		; the calling routine
7AEC-   85 F6       STA   $F6		; to default to CW
7AEE-   85 F8       STA   $F8		; rotate.
7AF0-   85 F9       STA   $F9
7AF2-   85 FB       STA   $FB
7AF4-   A4 F4       LDY   $F4
7AF6-   A5 F5       LDA   $F5
7AF8-   20 71 F8    JSR   $F871   	; F8ROM:SCRN
7AFB-   85 FC       STA   $FC
7AFD-   A4 F6       LDY   $F6
7AFF-   A5 F7       LDA   $F7
7B01-   20 71 F8    JSR   $F871   	; F8ROM:SCRN
7B04-   85 FD       STA   $FD
7B06-   A4 F8       LDY   $F8
7B08-   A5 F9       LDA   $F9
7B0A-   20 71 F8    JSR   $F871   	; F8ROM:SCRN
7B0D-   85 FE       STA   $FE
7B0F-   A4 FA       LDY   $FA
7B11-   A5 FB       LDA   $FB
7B13-   20 71 F8    JSR   $F871   	; F8ROM:SCRN
7B16-   85 FF       STA   $FF
7B18-   A5 FC       LDA   $FC ($FE)	; ($FE) = CCW
7B1A-   20 64 F8    JSR   $F864   	; F8ROM:SETCOL
7B1D-   A4 F6       LDY   $F6
7B1F-   A5 F7       LDA   $F7
7B21-   20 00 F8    JSR   $F800   	; F8ROM:PLOT
7B24-   A5 FD       LDA   $FD ($FF)	; ($FF) = CCW
7B26-   20 64 F8    JSR   $F864   	; F8ROM:SETCOL
7B29-   A4 F8       LDY   $F8
7B2B-   A5 F9       LDA   $F9
7B2D-   20 00 F8    JSR   $F800   	; F8ROM:PLOT
7B30-   A5 FE       LDA   $FE ($FC)	; ($FC) = CCW
7B32-   20 64 F8    JSR   $F864   	; F8ROM:SETCOL
7B35-   A4 FA       LDY   $FA
7B37-   A5 FB       LDA   $FB 
7B39-   20 00 F8    JSR   $F800   	; F8ROM:PLOT
7B3C-   A5 FF       LDA   $FF ($FD)	; ($FD) = CCW
7B3E-   20 64 F8    JSR   $F864   	; F8ROM:SETCOL
7B41-   A4 F4       LDY   $F4
7B43-   A5 F5       LDA   $F5
7B45-   20 00 F8    JSR   $F800   	; F8ROM:PLOT
7B48-   E6 F4       INC   $F4
7B4A-   E6 F7       INC   $F7
7B4C-   C6 F8       DEC   $F8
7B4E-   C6 FB       DEC   $FB
7B50-   A5 F4       LDA   $F4
7B52-   C9 14       CMP   #$14
7B54-   D0 9E       BNE   $7AF4
7B56-   A9 00       LDA   #$00
7B58-   85 F4       STA   $F4
7B5A-   85 F7       STA   $F7
7B5C-   A9 27       LDA   #$27
7B5E-   85 F8       STA   $F8
7B60-   85 FB       STA   $FB
7B62-   E6 F5       INC   $F5
7B64-   E6 FA       INC   $FA
7B66-   C6 F6       DEC   $F6
7B68-   C6 F9       DEC   $F9
7B6A-   A5 F5       LDA   $F5
7B6C-   C9 14       CMP   #$14
7B6E-   D0 E4       BNE   $7B54
7B70-   A9 00       LDA   #$00		; Routine to restore $F0-$FF
7B72-   A2 0F       LDX   #$0F		; in ZP from $2F0-$2FF
7B74-   BD F0 02    LDA   $02F0,X	; Original routine $7AD2-$7ADF
7B77-   95 F0       STA   $F0,X		; opens up $F0-$FF in ZP for
7B79-   CA          DEX			; X,Y and color data for each
7B7A-   E0 FF       CPX   #$FF		; of the 4-points.
7B7C-   D0 F6       BNE   $7B74		;
7B7E-   60          RTS

7B7F-   20 A2 7B    JSR   $7BA2		; Downward screen wipe
7B82-   A9 00       LDA   #$00		;----------------------
7B84-   85 26       STA   $26		; Fixed JSR points can
7B86-   A8          TAY			; probably be swapped for
7B87-   A9 04       LDA   #$04		; relocatable code
7B89-   85 27       STA   $27		; by setting ACC to $01
7B8B-   A5 26       LDA   $26		; and performing a BNE
7B8D-   91 26       STA   ($26),Y	; I'm too lazy after
7B8F-   C8          INY			; writing this bloated
7B90-   C0 28       CPY   #$28		; routine...
7B92-   D0 F7       BNE   $7B8B		; Besides, there is
7B94-   A9 13       LDA   #$13		; other absolute refs
7B96-   85 EF       STA   $EF		; in earlier routines.
7B98-   20 A2 7B    JSR   $7BA2		;
7B9B-   C6 EF       DEC   $EF
7B9D-   A5 EF       LDA   $EF
7B9F-   10 F7       BPL   $7B98
7BA1-   60          RTS
7BA2-   A0 12       LDY   #$12
7BA4-   84 FA       STY   $FA
7BA6-   C8          INY
7BA7-   84 FB       STY   $FB
7BA9-   A0 00       LDY   #$00
7BAB-   A5 FB       LDA   $FB
7BAD-   20 47 F8    JSR   $F847   	; F8ROM:GBASCALC
7BB0-   A5 26       LDA   $26
7BB2-   85 FC       STA   $FC
7BB4-   A5 27       LDA   $27
7BB6-   85 FD       STA   $FD
7BB8-   A5 FA       LDA   $FA
7BBA-   20 47 F8    JSR   $F847   	; F8ROM:GBASCALC
7BBD-   B1 26       LDA   ($26),Y
7BBF-   91 FC       STA   ($FC),Y
7BC1-   C8          INY
7BC2-   C0 28       CPY   #$28
7BC4-   D0 F7       BNE   $7BBD
7BC6-   C6 FA       DEC   $FA
7BC8-   C6 FB       DEC   $FB
7BCA-   A5 FA       LDA   $FA
7BCC-   10 DB       BPL   $7BA9
7BCE-   60          RTS

7BCF-   A2 27       LDX   #$27		; 4-lines text handler
7BD1-   BD D0 05    LDA   $05D0,X	;----------------------
7BD4-   9D D0 45    STA   $45D0,X	; Moves text lines 20,
7BD7-   BD 50 06    LDA   $0650,X	; 21, 22, 23 to buffer
7BDA-   9D 50 46    STA   $4650,X	; $45D0, $4650, $46D0
7BDD-   BD D0 06    LDA   $06D0,X	; and $4750
7BE0-   9D D0 46    STA   $46D0,X	; (After text edit
7BE3-   BD 50 07    LDA   $0750,X	; stores lines in buffer)
7BE6-   9D 50 47    STA   $4750,X
7BE9-   CA          DEX
7BEA-   10 E4       BPL   $7BD0
7BEC-   60          RTS

7BED-   A2 27       LDX   #$27		; 4-lines text handler
7BEF-   BD D0 45    LDA   $45D0,X	;----------------------
7BF2-   9D 50 06    STA   $0650,X	; Moves text lines from
7BF5-   BD 50 46    LDA   $4650,X	; buffer to text page 1
7BF8-   9D D0 06    STA   $06D0,X	; lines 21, 22, 23, 24
7BFB-   BD D0 46    LDA   $46D0,X	; (Before save, brings
7BFE-   9D 50 07    STA   $0750,X	; lines from buffer to
7C01-   BD 50 47    LDA   $4750,X	; screen)
7C04-   9D D0 07    STA   $07D0,X
7C07-   CA          DEX
7C08-   10 E5       BPL   $7BEF
7C0A-   60          RTS

7C0B-   A2 27       LDX   #$27		; 4-lines text handler
7C0D-   BD D0 45    LDA   $45D0,X	;----------------------
7C10-   9D D0 05    STA   $05D0,X	; Moves text lines from
7C13-   BD 50 46    LDA   $4650,X	; buffer to text page 1
7C16-   9D 50 06    STA   $0650,X	; lines 20, 21, 22, 23
7C19-   BD D0 46    LDA   $46D0,X	; (Before edit, brings
7C1C-   9D D0 06    STA   $06D0,X	; lines from buffer to
7C1F-   BD 50 47    LDA   $4750,X	; screen)
7C22-   9D 50 07    STA   $0750,X
7C25-   CA          DEX
7C26-   10 E4       BPL   $7C0C
7C28-   60          RTS

7C29-   A2 27       LDX   #$27		; 4-lines text handler
7C2B-   BD 50 06    LDA   $0650,X	;----------------------
7C2E-   9D D0 45    STA   $45D0,X	; Moves text lines 21,
7C31-   BD D0 06    LDA   $06D0,X	; 22, 23, 24 to buffer
7C34-   9D 50 46    STA   $4650,X	; (After load, stores
7C37-   BD 50 07    LDA   $0750,X	; lines in buffer)
7C3A-   9D D0 46    STA   $46D0,X
7C3D-   BD D0 07    LDA   $07D0,X
7C40-   9D 50 47    STA   $4750,X
7C43-   CA          DEX
7C44-   10 E4       BPL   $7C2A
7C46-   60          RTS

7C47-   A9 00       LDA   #$00		; Setup exe pic in RAM
7C49-   85 3C       STA   $3C		;----------------------
7C4B-   85 42       STA   $42		; Pic located at $6000
7C4D-   A9 04       LDA   #$04		; JMP located at $5FFD
7C4F-   85 3D       STA   $3D		; Code located at $6400
7C51-   A9 F8       LDA   #$F8		;
7C53-   85 3E       STA   $3E
7C55-   A9 07       LDA   #$07
7C57-   85 3F       STA   $3F
7C59-   A9 60       LDA   #$60
7C5B-   85 43       STA   $43
7C5D-   A0 00       LDY   #$00
7C5F-   20 2C FE    JSR   $FE2C		; F8ROM:MOVE
7C62-   A9 4C       LDA   #$4C
7C64-   8D FD 5F    STA   $5FFD
7C67-   A9 00       LDA   #$00
7C69-   8D FE 5F    STA   $5FFE
7C6C-   A9 64       LDA   #$64
7C6E-   8D FF 5F    STA   $5FFF
7C71-   A9 00       LDA   #$00
7C73-   85 42       STA   $42
7C75-   A9 64       LDA   #$64
7C77-   85 43       STA   $43
7C79-   A9 8F       LDA   #$8F
7C7B-   85 3C       STA   $3C
7C7D-   A9 7C       LDA   #$7C
7C7F-   85 3D       STA   $3D
7C81-   A9 C6       LDA   #$C6
7C83-   85 3E       STA   $3E
7C85-   A9 7C       LDA   #$7C
7C87-   85 3F       STA   $3F
7C89-   A0 00       LDY   #$00
7C8B-   20 2C FE    JSR   $FE2C		; F8ROM:MOVE
7C8E-   60          RTS
7C8F-   8D 50 C0    STA   $C050		; rw:TXTCLR
7C92-   8D 53 C0    STA   $C053		; rw:MIXSET
7C95-   8D 54 C0    STA   $C054		; rw:TXTPAGE1
7C98-   8D 56 C0    STA   $C056		; rw:LORES
7C9B-   A9 14       LDA   #$14
7C9D-   85 22       STA   $22
7C9F-   A9 00       LDA   #$00
7CA1-   85 FE       STA   $FE
7CA3-   A8          TAY
7CA4-   A5 FE       LDA   $FE
7CA6-   20 47 F8    JSR   $F847		; F8ROM:GBASCALC
7CA9-   A5 26       LDA   $26
7CAB-   85 FA       STA   $FA
7CAD-   A5 27       LDA   $27
7CAF-   69 5C       ADC   #$5C
7CB1-   85 FB       STA   $FB
7CB3-   B1 FA       LDA   ($FA),Y
7CB5-   91 26       STA   ($26),Y
7CB7-   C8          INY
7CB8-   C0 28       CPY   #$28
7CBA-   D0 F7       BNE   $7CB3
7CBC-   E6 FE       INC   $FE
7CBE-   A0 00       LDY   #$00
7CC0-   A5 FE       LDA   $FE
7CC2-   C9 18       CMP   #$18
7CC4-   D0 DE       BNE   $7CA4
7CC6-   60          RTS

+----------------------------------------------------------------+
If you wish to modify STARTUP (PRODRAW) simply run it, to relocate
PRODRAW.SYS to $7000, then carry out the following steps:

]CALL -151

*6FFF:60

*BSAVE PRODRAW.SYS,A$6FFF,L$CC8

*3D0G

]100 PRINT CHR$(21):PRINT:PRINT CHR$(4);"BRUN PRODRAW.SYS,A$6FFF"

]CALL -151

*AF:70 22

*SAVE PRODRAW

This will break STARTUP (PRODRAW) into the Applesoft and the BIN
files respectively, so you can modify the program as you see fit.
+----------------------------------------------------------------+